/* 2012-9-13 yzw last
*  boxid,time,width
*  盒子ID，间隔时间，宽度
*///焦点图式轮播功能

var Slider = function()
{
	var S = this;
	S.Init = function(boxid,width,time,offset)
	{
		S.id = boxid;
		S.width = width;
		S.speed = 500;
		S.obj = $('#'+boxid);
		S.index = 0;
		S.time = time ? time : 3000;
		S.offset = offset ? offset : 1;
		time?S.Interval(S.Left):'';	//自动轮换
		S.MoveMouse('click');    //click, hover
	}

	S.Left = function(offset)
	{
		var offset = offset ? offset : S.offset;
		if(!S.obj.is(':animated'))
		{				
			S.obj.animate(
				{marginLeft: -(S.width * offset)},
				S.speed,
				function()
				{
					$(this).css("margin-left",'').children().slice(0, offset).appendTo(this);
				}
			);
			S.Num('left',offset);
		}
	}

	S.Right = function(offset)
	{
		var offset = offset ? offset : S.offset;
		if(!S.obj.is(':animated'))
		{
			S.obj.css("margin-left",-(S.width * offset)).prepend(
				function(index,html)
				{				
					return $(this).children().slice(S.obj.children().length - offset, S.obj.children().length);
				}
			).animate({marginLeft: 0},S.speed);
			S.Num('right',offset);
		}
	}
	
	S.Interval = function(direct)
	{
		S.terval = setInterval(direct,S.time);
		S.obj.parent().hover(
			function()
			{
				clearInterval(S.terval);
			},
			function()
			{
				S.terval = setInterval(direct,S.time);
			}
		)
	}

	S.Num = function(pos,step)
	{
		switch(pos)
		{
			case 'left':
				S.index = S.index + step;
				S.index = S.index % S.obj.children().length;				
				break;				
			case 'right':
				S.index = S.index - step;
				if(S.index < 0)
				{
					S.index = S.obj.children().length-1;
				}
				break;				
		}
		S.obj.siblings().children('li:eq('+S.index+')').addClass('online').siblings().removeClass('online');
	}

	S.MoveMouse = function(method)
	{	
		S.obj.siblings().children('li').bind(
			method,
			function()
			{
				var offset = $(this).index() - $('.online').index();
				if(offset > 0)
				{
					S.Left(offset);
				}
				if(offset < 0)
				{
					S.Right(-offset)
				}
			}
		)
	}

}


	

	